package br.com.salao.session;

import java.util.List;

import javax.ejb.Remote;
import javax.ejb.Stateless;
import javax.ejb.TransactionAttribute;
import javax.ejb.TransactionAttributeType;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;

import br.com.salao.ejb.dao.CidadeDao;
import br.com.salao.ejb.dao.impl.CidadeDaoImpl;
import br.com.salao.entity.Cidade;

@Stateless
@Remote(CidadeBase.class)
public class CidadeBean implements CidadeBase{

	/**
	 * @author Dri
	 */
	private static final long serialVersionUID = 1L;
	
	@PersistenceContext(unitName = "SalaoBeleza")
	private EntityManager em;

	public CidadeBean(){
		//	em = JpaUtil.getEntityManager();	
	}

	@TransactionAttribute(TransactionAttributeType.NOT_SUPPORTED)
	public List<Cidade> listarCidadePorIdEstado(int idEstado){		
		CidadeDao dao = new CidadeDaoImpl(em);
		return dao.listarCidadePorIdEstado(idEstado);
	}

	@TransactionAttribute(TransactionAttributeType.NOT_SUPPORTED)
	public List<Cidade> listar(){
		CidadeDao dao = new CidadeDaoImpl(em);
		return dao.listar();
	}

	@TransactionAttribute(TransactionAttributeType.NOT_SUPPORTED)
	public Cidade buscarCidadePorNome(Cidade cidade){
		CidadeDaoImpl daoImpl = new CidadeDaoImpl(em);
		return daoImpl.buscarCidadePorNome(cidade);
	}
	
	@TransactionAttribute
	public Cidade incluir(Cidade cidade){
		CidadeDaoImpl daoImpl = new CidadeDaoImpl(em);
		return daoImpl.incluir(cidade);
	}

}
